#include "EDAABB.h"

EDAABB::EDAABB()
{
	m_Min.make_zero();
	m_Max.make_zero();
}

EDAABB::~EDAABB()
{

}

void EDAABB::Draw(void) const
{
	glPushMatrix();
		glBegin(GL_QUADS); // DIE IN A FIRE

		// front
		glVertex3f(m_Min.x, m_Max.y, m_Min.z);
		glVertex3f(m_Max.x, m_Max.y, m_Min.z);
		glVertex3f(m_Max.x, m_Min.y, m_Min.z);
		glVertex3f(m_Min.x, m_Min.y, m_Min.z);

		//left
		glVertex3f(m_Min.x, m_Min.y, m_Max.z);
		glVertex3f(m_Min.x, m_Max.y, m_Max.z);
		glVertex3f(m_Min.x, m_Max.y, m_Min.z);
		glVertex3f(m_Min.x, m_Min.y, m_Min.z);

		//back
		glVertex3f(m_Max.x, m_Min.y, m_Max.z);
		glVertex3f(m_Max.x, m_Max.y, m_Max.z);
		glVertex3f(m_Min.x, m_Max.y, m_Max.z);
		glVertex3f(m_Min.x, m_Min.y, m_Max.z);

		//right
		glVertex3f(m_Max.x, m_Min.y, m_Max.z);
		glVertex3f(m_Max.x, m_Min.y, m_Min.z);
		glVertex3f(m_Max.x, m_Max.y, m_Min.z);
		glVertex3f(m_Max.x, m_Max.y, m_Max.z);

		//top
		glVertex3f(m_Min.x, m_Max.y, m_Max.z);
		glVertex3f(m_Max.x, m_Max.y, m_Max.z);
		glVertex3f(m_Max.x, m_Max.y, m_Min.z);
		glVertex3f(m_Min.x, m_Max.y, m_Min.z);

		// TEH UNDERBELLY
		glVertex3f(m_Max.x, m_Min.y, m_Min.z);
		glVertex3f(m_Max.x, m_Min.y, m_Max.z);
		glVertex3f(m_Min.x, m_Min.y, m_Max.z);
		glVertex3f(m_Min.x, m_Min.y, m_Min.z);

		glEnd();
	glPopMatrix();
}
